package com.lebang.mapper;

import com.lebang.entity.sys.Resource;
import com.lebang.entity.LbbAuthority;
import com.lebang.example.LbbAuthorityExample;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;
@Repository
public interface LbbAuthorityMapper {
    long countByExample(LbbAuthorityExample example);

    int deleteByExample(LbbAuthorityExample example);

    int deleteByPrimaryKey(Long id);

    int insert(LbbAuthority record);

    int insertSelective(LbbAuthority record);

    List<LbbAuthority> selectByExample(LbbAuthorityExample example);

    LbbAuthority selectByPrimaryKey(Long id);

    int updateByExampleSelective(@Param("record") LbbAuthority record, @Param("example") LbbAuthorityExample example);

    int updateByExample(@Param("record") LbbAuthority record, @Param("example") LbbAuthorityExample example);

    int updateByPrimaryKeySelective(LbbAuthority record);

    int updateByPrimaryKey(LbbAuthority record);

    LbbAuthority selectByroleIdAndresource(@Param("roleid") String roleid, @Param("resource") String resource);
    /**
     * 根据角色获取菜单
     * @author weizx
     * @date 2018年7月9日 下午5:26:24

     * @return
     */
    List<Resource> getMenus(@Param("roleList") List<String> roleList);

    /**
     * 获取菜单项
     * @author weizx
     * @date 2018年7月12日 下午2:36:58

     * @param resource
     * @return
     */
    List<Resource> getMenuItems(@Param("roleList") List<String> roleList, @Param("resource") String resource);

    /**
     * 角色权限
     * @author weizx
     * @date 2018年7月12日 下午3:56:36
     * @param roleid
     * @return
     */
    List<Map<String, Object>> resource(@Param("roleid") String roleid);

    /**
     * 是否存在
     * @author weizx
     * @date 2018年7月16日 上午9:57:57

     * @param resource
     * @return
     */
    int ishas(@Param("userid") String userid, @Param("resource") String resource);
}